As computers have developed to provide greater capabilities at greater speeds, the ability of a user to interface with that computer has also become much simpler. For example, icons provide a pictorial representation of a function which may be executed by a computer and allow a user to easily access that finction with a simple click of a mouse or a stroke of a return key. Additionally, many current software programs use realistic representations of objects to take advantage of a user's experience with the physical world. Therefore, rather than present the user with a series of panels and window frames or pull down menus, a software program for implementing an application may present a realistically-rendered object which is placed directly on a desktop or other environment.
While such realistic representations enable a user to more easily interface with the computer, the applications which implement the realistically-rendered objects introduce several difficulties. For example, the ability to display objects having realistically-rendered control options adds additional challenges for designers of the user interface of a computer system. Traditional development systems include a standard user interface toolkit wherein each control option has a standard view. Furthermore, traditional development systems only allow an interface to be implemented using a limited and finite set of views. For example, a typical development system allows an interface designer to implement scroll bars to allow a user to modify a view displayed on a display device of the computer system. Additionally, the typical development system provides slider controls and buttons to allow a user to access certain portions of an object being displayed or to perform certain functions, but does not allow other more intuitive control options. Each of the controls implemented in the standard user interface provided by a traditional development system does not generally allow a user to know what action is to be performed intuitively when one of the finite control options is implemented, displayed to the user on a display device and selected. For example, a scroll bar on a realistically-rendered telephone has no real-world counterpart and, therefore, a function associated with that scroll bar may not be intuitive to a user or the user may automatically associate a scroll bar with a volume control f/unction as that is a most likely association in a telephone context.
Therefore, there is a need to implement realistic control options in traditional development systems. As traditional development systems fail to provide support or implementing such control options, a need arises to implement control options on realistically-rendered objects wherein the function associated with the control option is intuitive to an external user.